/**
 * 给定数组，每个元素还有红蓝二色
 * 取两个不同的位置，要求数值相等且颜色不同，问方案总数
 * 统计每个数值每种颜色的数量，乘一下即可
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
using pii = pair<int, int>;
using pll = pair<llt, llt>;
using vi = vector<int>;
using vvi = vector<vi>;
using int128 = __int128_t;

int N;
string S;
vi A;

llt proc(){
    map<int, pii> mm;
    for(int i=0;i<N;++i){
        if('R' == S[i]) ++mm[A[i]].first;
        else ++mm[A[i]].second;
    }

    llt ans = 0;
    for(const auto & p : mm){
        llt a = p.second.first;
        llt b = p.second.second;
        ans += a * b;
    }
    return ans;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> N;
    A.assign(N, 0);
    for(auto & i : A) cin >> i;
    cin >> S;
    cout << proc() << endl;
    return 0;
}

